The proliferation of laptop and notebook sized personal computers has created an extensive market for peripheral devices that further expand the capability of a given laptop design. These peripheral devices add features that vary from the addition of fax/modem cards to the addition of memory expansion cards. Although these peripheral devices provide many benefits, the peripheral devices typically hang off the side of the portable computer system thereby making the system no longer portable.
To provide a convenient interface for small peripheral devices, a computer industry consortium drafted a specification defining an interface for peripherals. The computer industry consortium is known as the Personal Computer Memory Industry Association (PCMCIA) and the peripherals adhering to the PCMCIA specification are known as PCMCIA cards. The first version of the PCMCIA specification (PCMCIA 1.0) created an interface that handles memory card expansion as well as some simple peripherals such as card-sized modems. The second version of the PCMCIA specification (PCMCIA 2.0) is a bus specification capable of handling common types of computer peripherals such as hard disk drives and Local Area Network (LAN) interfaces. (See PC Card Standard, Release 2.0, September 1991, Personal Computer Memory Card International Association).
The PCMCIA specification is defined such that it is possible to plug in and remove peripheral cards from a host computer system. Focusing on compatibility between different computer systems, the PCMCIA specifications define the physical dimensions and power level of PCMCIA cards. The PCMCIA specification also defines voltage levels, connector pinouts, the range of card information (CIS) which is stored in the cards, and indicates how software can read configuration information.
FIG. 1 shows a PCMCIA card. As illustrated, the PCMCIA card 100 includes an address unit 110 for generating address signals to a microcontroller 160, a control unit 120 for generating control signals to the microcontroller 160, a data unit 130 for driving data to the microcontroller 160, a register unit 140 for storing control data for the microcontroller 160, the microcontroller 160 for controlling access requests by the host computer to the CIS information, and a separate program memory array device 165 to store the CIS information. The PCMCIA card 100 also includes a flash memory 150 which may be optional in other systems.
As illustrated in FIG. 1, the address unit 110 communicates directly with the microcontroller 160 via address lines 115 by submitting address requests received from a host computer (not shown) to the microcontroller 160 to access memory locations in the program memory 165 which contains the CIS. Utilizing the CIS, the host computer is able to determine what parameters are necessary for communication between the host system and the PCMCIA card. The microcontroller 160 also communicates with the control unit 120 via control lines 125 to control and monitor memory access requests from the host computer to the program memory device 165.
The data unit 130 supplies the data from the host computer to the microcontroller 160 via data lines 125, and data from the microcontroller 160 is transmitted through the data unit 130 to the host computer via host bus 105.
In FIG. 1, the microcontroller 160 executes instructions received from the host computer by execution of a sequence of corresponding instructions stored in program memory device 165, therefore, microcontroller 160 is continuously powered up to perform operations required to support the PCMCIA operations. Accordingly, the PCMCIA card 100 consumes a relatively large amount of power in the host computer because the microcontroller is continuously in a powered-up state.
The system described in FIG. 1 also has the additional drawback of relying on each PCMCIA card to supply its own configuration (CIS) information. This requires that PCMCIA peripheral devices utilize non-volatile memories in their design. Accordingly, volatile memory devices, such as DRAMS and some SRAMS which provide a simple storage medium for a large number of hand held electronic devices typically cannot be used with PCMCIA card designs.
In addition to these drawbacks, PCMCIA cards have further drawbacks such as the following: cost, a complex interface, a delay in the throughput of data due to reliance on the microcontroller, the need to follow a defined pinout, the need to follow a set voltage level, and the need to adhere to strict dimensional requirements. The regimental design requirements and drawbacks typically do not allow the use of PCMCIA cards for hand held devices with variable dimensions, voltage, and pinout specifications. For example, a PCMCIA memory expansion card that attaches to any lap-top or note-book computer typically cannot be utilized in hand held devices such as digital cameras, audio recorders, and cellular phones.